package com.venta.autopartes.car;

import java.util.ArrayList;
import java.util.List;

public class Vehicle implements Cloneable {
	private int carId;
	private MakeVehicle make = new MakeVehicle();
	private ModelVehicle model=new ModelVehicle(); 
	private YearVehicle year = new YearVehicle();
	private SubModelVehicle versionSubModel = new SubModelVehicle();
	private double price;
	private String currency;
	private String dealType;
	private String seatMaterial;
	private String transmisionType;
	private String fuelType;
	private String exteriorColor;
	private int ownersNumber;
	private String conditions;
	private int passengersNumber;
	private String interiorColor;
	private int doorsNumber;
	private int cylindersNumber;
	private int mileage;
	private String characteristics;
	private String commonUsage;
	
	
	private Address address;
	private Equipment equipment = new Equipment();
	private String specialOptions;
	private String description;
	private List<String> imagesList=new ArrayList<String>();
	
	public Equipment getEquipment() {
		return equipment;
	}
	public void setEquipment(Equipment equipment) {
		this.equipment = equipment;
	}
	public String getSpecialOptions() {
		return specialOptions;
	}
	public void setSpecialOptions(String specialOptions) {
		this.specialOptions = specialOptions;
	}
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	public String getCurrency() {
		return currency;
	}
	public void setCurrency(String currency) {
		this.currency = currency;
	}
	public String getDealType() {
		return dealType;
	}
	public void setDealType(String dealType) {
		this.dealType = dealType;
	}
	public String getSeatMaterial() {
		return seatMaterial;
	}
	public void setSeatMaterial(String seatMaterial) {
		this.seatMaterial = seatMaterial;
	}
	public String getCommonUsage() {
		return commonUsage;
	}
	public void setCommonUsage(String commonUsage) {
		this.commonUsage = commonUsage;
	}
	public Address getAddress() {
		return address;
	}
	public void setAddress(Address address) {
		this.address = address;
	}
	
	public SubModelVehicle getVersionSubModel() {
		return versionSubModel;
	}
	public void setVersionSubModel(SubModelVehicle versionSubModel) {
		this.versionSubModel = versionSubModel;
	}
	public List<String> getImagesList() {
		return imagesList;
	}
	public void setImagesList(List<String> imagesList) {
		this.imagesList = imagesList;
	}
	public int getCarId() {
		return carId;
	}
	public void setCarId(int carId) {
		this.carId = carId;
	}
	
	public MakeVehicle getMake() {
		return make;
	}
	public void setMake(MakeVehicle make) {
		this.make = make;
	}
	public ModelVehicle getModel() {
		return model;
	}
	public void setModel(ModelVehicle model) {
		this.model = model;
	}
	public YearVehicle getYear() {
		return year;
	}
	public void setYear(YearVehicle year) {
		this.year = year;
	}
	public double getPrice() {
		return price;
	}
	public void setPrice(double price) {
		this.price = price;
	}
	
	public String getTransmisionType() {
		return transmisionType;
	}
	public void setTransmisionType(String transmisionType) {
		this.transmisionType = transmisionType;
	}
	public String getFuelType() {
		return fuelType;
	}
	public void setFuelType(String fuelType) {
		this.fuelType = fuelType;
	}
	public String getExteriorColor() {
		return exteriorColor;
	}
	public void setExteriorColor(String exteriorColor) {
		this.exteriorColor = exteriorColor;
	}
	public int getOwnersNumber() {
		return ownersNumber;
	}
	public void setOwnersNumber(int ownersNumber) {
		this.ownersNumber = ownersNumber;
	}
	public String getConditions() {
		return conditions;
	}
	public void setConditions(String conditions) {
		this.conditions = conditions;
	}
	public int getPassengersNumber() {
		return passengersNumber;
	}
	public void setPassengersNumber(int passengersNumber) {
		this.passengersNumber = passengersNumber;
	}
	public String getInteriorColor() {
		return interiorColor;
	}
	public void setInteriorColor(String interiorColor) {
		this.interiorColor = interiorColor;
	}
	public int getDoorsNumber() {
		return doorsNumber;
	}
	public void setDoorsNumber(int doorsNumber) {
		this.doorsNumber = doorsNumber;
	}
	public int getCylindersNumber() {
		return cylindersNumber;
	}
	public void setCylindersNumber(int cylindersNumber) {
		this.cylindersNumber = cylindersNumber;
	}
	public int getMileage() {
		return mileage;
	}
	public void setMileage(int mileage) {
		this.mileage = mileage;
	}
	public String getCharacteristics() {
		return characteristics;
	}
	public void setCharacteristics(String characteristics) {
		this.characteristics = characteristics;
	}
	
	
	public Vehicle getVehicleClon(){
		return (Vehicle)this.clone();
	}
	
	public Object clone(){
        Object obj=null;
        try{
            obj=super.clone();
        }catch(CloneNotSupportedException ex){
            System.out.println(" Vehicle object cannot be clonned");
        }
        return obj;
    }
	
	
}
